<?php
//Swoole\Coroutine\run(function () {
//    $channel = new Swoole\Coroutine\Channel(1);
//    go(function () use ($channel) {
//        for ($i = 0; $i < 3; $i++) {
//            $channel->push(['rant'=>rand(1,888),'index' => $i]);
//            echo "{$i} \n";
//        }
//        $channel->close();
//    });
//    go(function () use ($channel) {
//       while(1) {
////           co::sleep(1);
//           $data = $channel->pop();
//           if($channel->errCode == SWOOLE_CHANNEL_CLOSED) {
//                break;
//           }
//           var_dump($data);
//       }
//    });
//});


Swoole\Coroutine\run(function () {
   $wg = new Swoole\Coroutine\WaitGroup();
   go(function () use ($wg) {
      $wg->add();
      co::sleep(1);
      $wg->done();
   });
   go(function () use ($wg) {
      $wg->add();
      $wg->done();
   });
});